package Ajedrez;

public class Caballo {
	int pha=0; //Posicion Horizontal Actual
	int pva=0; //Posicion Vertical Actual
	
	public Caballo(int PosicionInicialX, int PosicionInicialY) {
		comprobarMovimiento(PosicionInicialX, PosicionInicialY);
	}
	
	private void comprobarMovimiento(int PosicionInicialX, int PosicionInicialY){
		if (PosicionInicialX!=pha){
			if (PosicionInicialX<0){
				this.pha=0;
			}
			else if (PosicionInicialX>8){
				this.pha=8;
			}
			else{
				this.pha=PosicionInicialX;
			}
		}
		if (PosicionInicialY!=pva){
			if (PosicionInicialY<0){
				this.pva=0;
			}
			else if (PosicionInicialY>8){
				this.pva=8;
			}
			else{
				this.pva=PosicionInicialY;
			}
		}
	}
	
	public void moverArribaDerecha(){
		int nuevaPosicionV=pva+2;
		int nuevaPosicionH=pha++;
		comprobarMovimiento(nuevaPosicionH, nuevaPosicionV);
	}
	public void moverArribaIzquierda(){
		int nuevaPosicionV=pva+2;
		int nuevaPosicionH=pha--;
		comprobarMovimiento(nuevaPosicionH, nuevaPosicionV);
	}
	public void moverAbajoDerecha() {
		int nuevaPosicionV=pva-2;
		int nuevaPosicionH=pha++;
		comprobarMovimiento(nuevaPosicionH, nuevaPosicionV);
	}
	public void moverAbajoIzquierda() {
		int nuevaPosicionV=pva-2;
		int nuevaPosicionH=pha--;
		comprobarMovimiento(nuevaPosicionH, nuevaPosicionV);
	}
///////////	
		public void moverIzquierdaAbajo() {
			int nuevaPosicionV=pva--;
			int nuevaPosicionH=pha-2;
			comprobarMovimiento(nuevaPosicionH, nuevaPosicionV);
		}
		public void moverIzquierdaArriba() {
			int nuevaPosicionV=pva++;
			int nuevaPosicionH=pha-2;
			comprobarMovimiento(nuevaPosicionH, nuevaPosicionV);
		}
		public void moverDerechaAbajo(int casillas) {
			int nuevaPosicionV=pva--;
			int nuevaPosicionH=pha+2;				
			comprobarMovimiento(nuevaPosicionH, nuevaPosicionV);
	}
		public void moverDerechaArriba() {
			int nuevaPosicionV=pva++;
			int nuevaPosicionH=pha+2;				
			comprobarMovimiento(nuevaPosicionH, nuevaPosicionV);
	}
}